Re-engineering Legacy Software through Language Conversion
نویسندگان
چکیده
Software industry has a huge amount of legacy programs needing modernization and re-engineering. We are especially interested in re-engineering legacy programs via language conversion. In language conversion, the source and target languages can be either from the same programming paradigm or from different ones. Thus, we consider program modernization from two aspects. If the source and target languages share the same programming paradigm, we can modernize programs via source-to-source translation. If the languages are from different paradigms, for example procedural and object-oriented, we need re-engineering means in modernization, particularly in identifying objects from procedural code. After finding objects and their operations, we need again source-to-source translation methods in the actual conversion. As a constructive part of this thesis, we have implemented a converter translating PL/M programs into C. As an implementation tool of that converter, we have used TaLE (Tampere Language Editor). Because of the nature of the legacy software and PL/M language, we have been forced to extend TaLE. Since legacy systems are typically large, we have developed a technique to reduce the space requirements of the converter. In addition, conditional compilation of the source language may cause parsing problems in source-to-source translation. As a solution for this problem, we introduce multi-branch parsing. Both of these techniques are implemented in TaLE. We also show how to exploit the existing features of TaLE in information passing. We have extended the PL/M-to-C converter with object identification methods as a first step to enable translation from a procedural language into an objectoriented one (for example, C++). We introduce new methods to identify objectoriented features, such as subclass relationships and polymorphism, from legacy programs. The converter developed in this work is currently being used for modernizing PL/M systems in telecommunication industry. The experiences in using the converter are briefly summarized.
منابع مشابه
Re-Engineering BLUE Financial System Using Round-Trip Engineering and Java Language Conversion Assistant
Conversion of legacy software applications into a new technology platform is common in many of today’s ICT (Information and Communication Technologies) companies. The objective is to improve performance, as a result of modeling important aspects and features through the development of conversion technologies. Much focus has been made on devising efficient methodologies in software architecture ...
متن کاملAn Assistant for Re-Engineering Legacy Systems
This paper presents a knowledge-based approach to evolving and re-engineering large legacy systems. It describes an AI application to one special area in software maintenance-upgmdiig existing software to new technology standards. This approach assists tie human engineers in the conversion of software systems by automating the tedious and knowledgeintensive conversion process. The research show...
متن کاملRe-engineering Legacy Systems for Modernization:The Role of Software Reuse
In this paper we outline our legacy modernization approach that incorporates our reuse process and repository which we have called the Knowledge Base Software Reuse (KBSR) Process and the KBSR Repository. The KBSR Process and Repository aim to give software engineers easy access to reusable software artefacts and reusable components within a defined process which we have incorporated into our m...
متن کاملGrammar Re-Engineering for Language Centered Software Engineering
This paper describes a systematic approach to grammar re-engineering by transforming conventional restricted YACC grammars from legacy code into the purely declarative syntax definition formalism SDF. The declarative nature of SDF and its ability to handle the full class of context-free grammars allows grammar definitions that are more readable and maintainable compared to the original YACC gra...
متن کاملDynamic scenario-based approach to re-engineering of legacy telecommunication software
Large amounts of legacy software create a “barrier” for adoption of formal description techniques in the telecommunication industry. To overcome this barrier, algorithms and methods for automated re-engineering of legacy telecommunication software into formal specifications are required. In this paper we present a “dynamic scenario-based” approach to re-engineering of legacy telecommunication s...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2000